From 5b9287ed77d151320239f7951ec94d5e97615004 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 29 May 2017 12:02:53 +0200 Subject: [PATCH] gtkwidget: Drop pointer emulation out of touch events Users of touch events are required to either use a GtkGesture, or handle touch events themselves. --- gtk/gtkwidget.c | 64 +------------------------------------------------ 1 file changed, 1 insertion(+), 63 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 8e369e0bd1..4a83376dc9 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -6515,69 +6515,7 @@ static gboolean gtk_widget_real_touch_event (GtkWidget *widget, GdkEventTouch *event) { - GdkEvent *bevent; - gboolean return_val; - gint signum; - - if (event->type == GDK_TOUCH_BEGIN || - event->type == GDK_TOUCH_END) - { - GdkEventType type; - - if (event->type == GDK_TOUCH_BEGIN) - { - type = GDK_BUTTON_PRESS; - signum = BUTTON_PRESS_EVENT; - } - else - { - type = GDK_BUTTON_RELEASE; - signum = BUTTON_RELEASE_EVENT; - } - bevent = gdk_event_new (type); - bevent->any.window = g_object_ref (event->window); - bevent->any.send_event = FALSE; - bevent->button.time = event->time; - bevent->button.state = event->state; - bevent->button.button = 1; - bevent->button.x_root = event->x_root; - bevent->button.y_root = event->y_root; - bevent->button.x = event->x; - bevent->button.y = event->y; - bevent->button.device = event->device; - bevent->button.axes = g_memdup (event->axes, - sizeof (gdouble) * gdk_device_get_n_axes (event->device)); - gdk_event_set_source_device (bevent, gdk_event_get_source_device ((GdkEvent*)event)); - - if (event->type == GDK_TOUCH_END) - bevent->button.state |= GDK_BUTTON1_MASK; - } - else if (event->type == GDK_TOUCH_UPDATE) - { - signum = MOTION_NOTIFY_EVENT; - bevent = gdk_event_new (GDK_MOTION_NOTIFY); - bevent->any.window = g_object_ref (event->window); - bevent->any.send_event = FALSE; - bevent->motion.time = event->time; - bevent->motion.state = event->state | GDK_BUTTON1_MASK; - bevent->motion.x_root = event->x_root; - bevent->motion.y_root = event->y_root; - bevent->motion.x = event->x; - bevent->motion.y = event->y; - bevent->motion.device = event->device; - bevent->motion.is_hint = FALSE; - bevent->motion.axes = g_memdup (event->axes, - sizeof (gdouble) * gdk_device_get_n_axes (event->device)); - gdk_event_set_source_device (bevent, gdk_event_get_source_device ((GdkEvent*)event)); - } - else - return FALSE; - - g_signal_emit (widget, widget_signals[signum], 0, bevent, &return_val); - - gdk_event_free (bevent); - - return return_val; + return GDK_EVENT_PROPAGATE; } static gboolean -- 2.30.2